var targetType; //所选授权维度类型
var targetId; 	//所选授权维度ID
var menuId;	  	//所选菜单树ID
var menuName;	//所选菜单树名称

$(function() {
	parent.childLoadSuccess = true;	//父页面属性，页面加载完成，更新父页面属性状态
	targetType = parent.TARGET_TYPE;
	targetId = parent.TARGET_ID;
	loadTree(); // 初始化全宗树
});

// 初始化档案分类树
function loadTree() {
	$('#mainTree')
			.tree(
					{
						checkbox : false,
						lines : true,
						dnd : false,
						method : 'post',
						url : 'platform/UserAuthSetController/getFuncMenu',
						dataType : 'json',
						loadFilter : function(data) {
							// 过滤后台返回的数据，处理不同json结构
							if (data.data) {
								return data.data;
							} else {
								return data;
							}
						},
						onClick : function(node) {
							menuId = node.id;	//所选菜单ID
							menuName = node.attributes.MENU_NAME;	//所选菜单名称
							/*授权维度数据加载比较慢，可能出现iframe页面已经加载完成后授权维度依然没有加载出数据，这样会影响本页面targetId属性接收授权维度页面传的参数，
							因此在执行刷新页面之前检查targetId属性是否有值，如果没值则再次请求获取值*/
							if(targetId == null || targetId == ""){
								targetId = parent.TARGET_ID;
							}
							resourceDatagridLoad();	//刷新权限设置资源列表
						},
						formatter : function(node) {
							return '<span title="' + node.text + '">' + node.text + '</span>';
						}
					});
}

/**
 * 加载权限设置资源列表
 */
function resourceDatagridLoad(){
	if(menuId != null && menuId != ""){
		$("#resourceDatagrid").datagrid("options").url = "platform/UserAuthSetController/getResource";
		$('#resourceDatagrid').datagrid('load', {
			targetId : targetId,
			menuId : menuId
		});
	}
}

/**
 * 将资源列表datagrid“允许”列格式化为复选框
 * @param value
 * @param rowData
 * @param rowIndex
 * @returns {String}
 */
function formatCheckbox(value, rowData, rowIndex) {
	var c = "";
	if(rowData.OPERATE_AUTH == "1"){
		c = "<input type='checkbox' name='"+rowData.FUNC_OPERATION_CODE+"' id='"+rowData.FUNC_OPERATION_CODE+"' checked='checked' value='1' onclick='onCheckboxClick(\""+rowData.FUNC_OPERATION_CODE+"\","+rowIndex+")' />";
	}
	else{
		c = "<input type='checkbox' name='"+rowData.FUNC_OPERATION_CODE+"' id='"+rowData.FUNC_OPERATION_CODE+"' value='0' onclick='onCheckboxClick(\""+rowData.FUNC_OPERATION_CODE+"\","+rowIndex+")' />";
	}
	return c;
}

/**
 * 复选框值发生改变更新datagrid对应的值
 * @returns
 */
function onCheckboxClick(id,rowIndex){
	var checkbox = document.getElementById(id);
	if(checkbox.checked){
		$('#resourceDatagrid').datagrid('updateRow',{
			index: rowIndex,
			row: {
				OPERATE_AUTH : 1
			}
		});
	}
	else{
		$('#resourceDatagrid').datagrid('updateRow',{
			index: rowIndex,
			row: {
				OPERATE_AUTH : 0
			}
		});
	}
}

/**
 * 保存资源权限配置信息
 */
function saveResourceConfig(){
	//角色、服务为默认选中项，不需要验证是否为空
	if(menuId == null || menuId == ""){
		$.messager.alert('提示', '请选择菜单！', 'warning');
		return;
	}
	var allRows = $("#resourceDatagrid").datagrid("getRows");
	var datas = JSON.stringify(allRows);
	$.ajax({
		url : 'platform/UserAuthSetController/saveResourceAuth',
		data : {
			datas : datas,
			targetType : targetType,
			targetId : targetId,
			menuId : menuId,
			menuName : menuName
			},
		type : 'post',
		dataType : 'json',
		success : function(result) {
			if (result.flag == "0") {
				$.messager.show({
					title : '提示',
					msg : "档案功能操作权限设置成功！"
				});
			}else{
				$.messager.show({
					title : '提示',
					msg : "档案功能操作权限设置失败！"
				});
			}
		}
	});
}